iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
0

大家好我是Andy,今天來到了第14天,還有幾天就可以放假耍廢了,一整個很懶得動,今天我們要來講甚麼了,在前幾天我們講過了注入DLL到exe中,但在現在有許多程式總是會掃描是否有被注入DLL檔案,所以我們加載拿到東西了之後我們要趕快把它卸載掉,不讓軟體偵測到它,當然這個是沒有加密的情況下,廢話不多說我們直接進入主題。

程式碼

#include <windows.h>
#include <iostream>
typedef void (*ccc)();
int main() {
	int b;

	while (std::cin >> b) {
		if (b == 2) {
			HMODULE hmodule = LoadLibrary("Dll5.dll");
			if (hmodule == NULL) {
				MessageBox(NULL, "沒有抓到DLL", "標題", MB_OK);
				return -1;
			}
			ccc a = (ccc)GetProcAddress(hmodule, "ccc");
			a();
			FreeLibrary(hmodule);
		}
			
	}
}

今天的目的只是為了測試FreeLibrary是否能正常釋放DLL,所以我們就不用遠程注入了我們直接使用動態調用,將dll移到exe的資料夾底下

執行exe後呢打2會跳出一個MessageBox,這時候先不用按確定,我們這裡使用CrySearch Memory Scanner,這裡加載我們的Project4.exe在Modules這邊會看到有一個dll5.dll

而按確認之後再重新整理一下

就會發現他不見了,所以這邊FreeLibrary是有正常運作的

結語

今天嘗試透過FreeLibrary這個函數釋放dll是可行的,距離放假還有倒數兩天,大家期待嗎,我是還蠻期待的啦哈哈哈,可以不用上班不用上課,待在家裡看看書看看影片就好 (影片不要想歪),好了我們明天見。


上一篇
第十三天:講解注入的程式碼運作機制
下一篇
第十五天:CE cheatengine是甚麼
系列文
闖入DLL的世界 DLL我要進來了哦30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言